[][src]Crate panda_macros

Macros

generate_hooks2_callbacks

For internal use only

generate_syscalls_callbacks

For internal use only

Attribute Macros

after_block_exec

(Callback) Called after execution of every basic block. If exitCode > TB_EXIT_IDX1, then the block exited early.

after_block_translate

(Callback) Called after execution of every basic block. If exitCode > TB_EXIT_IDX1, then the block exited early.

after_cpu_exec_enter

(Callback) Called after cpu_exec calls cpu_exec_enter function.

after_insn_exec

(Callback) Called after execution of an instruction identified by the PANDA_CB_AFTER_INSN_TRANSLATE callback

after_insn_translate

(Callback) Called after the translation of each instruction.

after_loadvm

(Callback) Called right after a snapshot has been loaded (either with loadvm or replay initialization), but before any guest code runs.

after_machine_init

(Callback) Called right after the machine has been initialized, but before any guest code runs.

asid_changed

(Callback) Called when asid changes.

before_block_exec

(Callback) Called before execution of every basic block.

before_block_exec_invalidate_opt

(Callback) Called before execution of every basic block, with the option to invalidate the TB.

before_block_translate

(Callback) Called before translation of each basic block.

before_cpu_exec_exit

(Callback) Called before cpu_exec calls cpu_exec_exit function.

before_handle_exception

(Callback) Called just before we are about to handle an exception.

before_handle_interrupt

(Callback)

before_loadvm

(Callback) Called at start of replay, before loadvm is called. This allows us to hook devices' loadvm handlers. Remember to unregister the existing handler for the device first. See the example in the sample plugin.

cpu_restore_state

(Callback) Called inside of cpu_restore_state(), when there is a CPU fault/exception.

during_machine_init

(Callback) Called in the middle of machine initialization

guest_hypercall

(Callback) Called when a program inside the guest makes a hypercall to pass information from inside the guest to a plugin

hd_read

(Callback) Called when there is a hard drive read

hd_write

(Callback) Called when there is a hard drive write

init

(Required Callback) Called when the plugin is being uninitialized

insn_exec

(Callback) Called before execution of any instruction identified by the PANDA_CB_INSN_TRANSLATE callback.

insn_translate

(Callback) Called before the translation of each instruction.

main_loop_wait

(Callback) Called in IO thread in place where monitor cmds are processed

mmio_after_read

(Callback) Called after MMIO memory is read.

mmio_before_write

(Callback) Called after MMIO memory is written to.

monitor

(Callback) Called when someone uses the plugin_cmd monitor command.

on_mmap_updated

(Callback)

on_process_end

(Callback)

on_process_start

(Callback)

on_sys_execve_enter

(Callback)

on_sys_write_enter

(Callback)

on_thread_end

(Callback)

on_thread_start

(Callback)

phys_mem_after_read

(Callback) Called after memory is read.

phys_mem_after_write

(Callback) Called after memory is written.

phys_mem_before_read

(Callback) Called after memory is read.

phys_mem_before_write

(Callback) Called before memory is written.

pre_shutdown

(Callback) Called just before qemu shuts down

replay_after_dma

(Callback) In replay only, we are about to dma between qemu buffer and guest memory

replay_before_dma

(Callback) In replay only. We are about to dma between qemu buffer and guest memory.

replay_handle_packet

(Callback) In replay only, we have a packet (incoming / outgoing) in hand.

replay_hd_transfer

(Callback) In replay only. Some kind of data transfer involving hard drive.

replay_net_transfer

(Callback) In replay only, some kind of data transfer within the network card (currently, only the E1000 is supported).

replay_serial_read

(Callback) In replay only, called when a byte read from the serial RX FIFO

replay_serial_receive

(Callback) In replay only, called when a byte is received on the serial port.

replay_serial_send

(Callback) In replay only, called when a byte is sent on the serial port.

replay_serial_write

(Callback) In replay only, called when a byte written to the serial TX FIFO

top_loop

(Callback) Called at the top of the loop that manages emulation.

unassigned_io_read

(Callback) Called when the guest attempts to read from an unmapped peripheral via MMIO

unassigned_io_write

(Callback) Called when the guest attempts to write to an unmapped peripheral via MMIO

uninit

(Callback) Called when the plugin is being uninitialized

virt_mem_after_read

(Callback) Called after memory is read.

virt_mem_after_write

(Callback) Called after memory is written.

virt_mem_before_read

(Callback) Called before memory is read.

virt_mem_before_write

(Callback) Called before memory is written.

Derive Macros

PandaArgs